#pragma once

#include <AVUIListBoxItem.h>

namespace AVUI {

class ComboBox;

class ComboBoxItem : public ListBoxItem
{
    friend class ComboBox;
public:
    ComboBoxItem() { };

    DECLARE_ELEMENT(ComboBoxItem, ListBoxItem);

    DECLARE_READONLY_DEPENDENCY_PROPERTY(IsHighlighted);
    bool get_IsHighlighted() { return AVUI::UnboxValue<bool>(GetValue(get_IsHighlightedProperty())); }

protected:
    virtual void OnGotKeyboardFocus(KeyboardFocusChangedEventArgs* pArgs) AVUI_OVERRIDE;
    virtual void OnMouseEnter(MouseEventArgs* pArgs) AVUI_OVERRIDE;
    virtual void OnMouseLeftButtonDown(MouseButtonEventArgs* pArgs) AVUI_OVERRIDE;
    virtual void OnMouseLeftButtonUp(MouseButtonEventArgs* pArgs) AVUI_OVERRIDE;


private:
    static void StaticConstructor();
    void SetIsHighlighted(bool isHighlighted);
    ComboBox* get_ParentComboBox();

};

 


}; // namespace AVUI


